pub struct Solution;

impl Solution {
    pub fn fizz_buzz(n: i32) -> Vec<String> {
        (1..=n)
            .into_iter()
            .map(|v| {
                if v % 3 == 0 && v % 5 == 0 {
                    String::from("FizzBuzz")
                } else if v % 3 == 0 {
                    String::from("Fizz")
                } else if v % 5 == 0 {
                    String::from("Buzz")
                } else {
                    v.to_string()
                }
            })
            .collect::<Vec<String>>()
    }
}